/***********************************************************************
 * 描述:		该结构为传给后端的参数结构
 * File:    optparavo.h
 * Author:  liquan@mozihealthcare.cn
 * Date:    2025-10-10
 * Update:
 **********************************************************************/

#ifndef OPTPARAVO_H
#define OPTPARAVO_H

#include <iostream>

/**
 * 传给后端的参数结构
 */
template<typename T>
struct OptParaVo
{
	/**
	 * 获取客户端版本号
	 * @return 客户端版本号
	 */
	std::string versionNo() const;
	/**
	 * 设置登录Token
	 * @param loginToken 登录Token
	 */
	void setLoginToken(const std::string& loginToken);
	/**
	 * 获取登录Token
	 * @return 登录Token
	 */
	std::string loginToken() const;
	/**
	 * 设置请求Token
	 * @param reqToken 请求Token
	 */
	void setReqToken(const std::string& reqToken);
	/**
	 * 获取请求Token
	 * @return 请求Token
	 */
	std::string reqToken() const;
	/**
	 * 设置请求参数对象
	 * @param obtObj 请求参数对象
	 */
	void setOptObj(T obtObj);
	/**
	 * 获取请求参数对象
	 * @return 请求参数对象
	 */
	T optObj() const;

private:
	std::string m_loginToken;//登录Token
	std::string m_reqToken;  //请求Token
	T m_optObj;              //请求参数对象
};

#endif //OPTPARAVO_H
